package com.wanxi.util;

import com.alibaba.fastjson.JSON;


import java.math.BigDecimal;
import java.util.List;

public class Tool {
    private Tool() {

    }

    /**
     * 把传过来的字符串转成Intget,转换失败返回-1；
     * @param value 传过来的字符串；
     * @return
     */
    public static int strToInt(String value) {
        try {
            return Integer.parseInt(value);
        } catch (Exception e) {
            return -1;
        }
    }
    /**
     * 把传过来的字符串转成BigDecimal,转换失败返回-1；
     *
     * @param value 传过来的字符串；
     * @return
     */
    public static BigDecimal strToBigDecimal(String value) {
        try {
            return new BigDecimal(value);
        } catch (Exception e) {
            return new BigDecimal(-1);
        }

    }

    /**
     * 如果拿到的是null，则直接转换为空字符串
     * @param value 传过来的字符串；
     * @return
     */
    public static String nullToStr(String value) {

        return value == null ? "" : value;


    }
    /**
     * 把传过来的字符串转成Intget,转换失败返回1；
     * @param value 传过来的字符串；
     * @return
     */
    public static int strToPage(String value) {
        try {
            return Integer.parseInt(value);
        } catch (Exception e) {
            return 1;
        }

    }
    /**
     * 把传过来的字符串转成Intget,转换失败返回10；
     * @param value 传过来的字符串；
     * @return
     */
    public static int strToLimit(String value) {
        try {
            return Integer.parseInt(value);
        } catch (Exception e) {
            return 10;
        }

    }

    /**
     * 将集合复制到另一个集合
     * @param oldList  原来的集合
     * @param eClass  新的集合的类
     * @param <T> 原集合的类
     * @param <E> 新集合的类
     * @return 返回新的集合
     */
    public static <T, E> List<E> copy(List<T> oldList, Class<E> eClass) {

        String old = JSON.toJSONString(oldList);
        return JSON.parseArray(old, eClass);
    }

    public static <T, E> E copy(T oldObj, Class<E> eClass) {
        String old = JSON.toJSONString(oldObj);
        return JSON.parseObject(old, eClass);
    }

}
